/**
 *
 */
export const strToListByKey = (str: string, key: string) => {
  // 如果搜索字符串为空，返回原始字符串
  if (key === "") {
    return [str];
  }

  let result: string[] = [];
  let lastIndex: number = 0;
  while (true) {
    const index = str.indexOf(key, lastIndex);
    if (index === -1) {
      // 当没有找到更多搜索文本时，将剩余部分添加到结果数组
      if (lastIndex < str.length) {
        result.push(str.slice(lastIndex));
      }
      break;
    }

    // 如果 index 大于 lastIndex，说明有非搜索字符串的文本存在
    if (index > lastIndex) {
      result.push(str.slice(lastIndex, index));
    }

    // 将搜索文本本身添加到结果数组
    result.push(str.slice(index, index + key.length));
    // 更新下次查找的起始位置
    lastIndex = index + key.length;
  }
  return result;
};

/**
 * 字符串指定位置替换成*
 */
export const strReplaceByLen = (str: string, preNum = 3, sufNum = 4) => {
  const pre = str.slice(0, preNum);
  const len = str.length;
  const endStart = str.length - sufNum;
  return `${pre.padEnd(endStart, "*")}${str.slice(endStart, len)}`;
};
